<!--
  - Copyright (c) 2018.
  - 北京九思金信科技有限公司对该文件内容保留所有权利。
  - 未经许可，不得私自拷贝、传播、发布、引用该文件内容，违者将被追究法律责任。
  -->

<template>
    <div>
        <el-row>
            <el-col :span="4" align="left" style="line-height: 36px;height: 36px">
                <span style="font-size: 14px;color: #747778">基本资料</span>
            </el-col>
            <el-col :offset="18" :span="2" align="right">
                <el-button v-show="canEdit && isShow && editable" size="small" @click="edit()" plain>编辑</el-button>
            </el-col>
        </el-row>
        <hr style="background-color: #EDEDED;border: none;height: 1px;margin: 0px"/>

        <el-row>

        </el-row>

        <el-row style="justify-content: center">
            <el-button @click="addNew()"
                       style="margin: 8px 0px 8px 0px;padding: 6.2px 7px;font-size: 13px;line-height: 18px"
                       v-if="!isShow && editable" round>
                <i class="joys-icon-new" style="margin-right: 12px;margin-left: 4px"/>
                <span style="margin: 0px">添加基本资料信息</span>
            </el-button>
        </el-row>


        <el-form ref="corpInfo"
                 :model="corpInfo"
                 v-show="isShow"
                 :class="{cardBackColor:!canEdit}"
                 :rules="rules"
                 style="text-align: left;padding-top: 24px" inline>
            <el-row style="padding:0px 12px 24px 12px">
                <el-col :md="8" :lg="6">
                    <el-form-item label="所属国家" prop="customerNationalityId">
                        <ft-data-enum-select v-model="corpInfo.customerNationalityId"
                                             placeholder="请选择所属国家"
                                             type-name="countryEnum"
                                             :editing="!canEdit">
                        </ft-data-enum-select>
                    </el-form-item>
                </el-col>
                <el-col :md="8" :lg="6">
                    <el-form-item label="组织机构类型" prop="enterpriseTypeId">
                        <ft-data-cascader style="width: 100%"
                                          v-model='corpInfo.enterpriseTypeId'
                                          type-name='enterpriseType'
                                          :editable='!canEdit'
                                          @change="enterpriseTypeChange">
                        </ft-data-cascader>
                    </el-form-item>
                </el-col>
                <el-col :md="8" :lg="6">
                    <el-form-item label="控股性质" prop="hodingNature">
                        <ft-data-cascader style="width: 100%"
                                          v-model='corpInfo.hodingNature'
                                          type-name='hodingNatureEnum'
                                          placeholder="请选择控股性质"
                                          :editable='!canEdit'>
                        </ft-data-cascader>
                    </el-form-item>
                </el-col>
                <el-col :md="8" :lg="6">
                    <el-form-item label="行政区划" prop="areaId">
                        <ft-areas-cascader style="width: 100%" :editable="!canEdit"
                                           v-model="corpInfo.areaId"></ft-areas-cascader>
                    </el-form-item>
                </el-col>
                <el-col :md="8" :lg="6">
                    <el-form-item label="行业门类" prop="industry">
                        <ft-data-enum-select
                                v-model="corpInfo.industry"
                                type-name="industryCategories"
                                @change="industryChange"
                                placeholder="请选行业门类"
                                :editing="!canEdit">
                        </ft-data-enum-select>
                    </el-form-item>
                </el-col>
                <el-col :md="8" :lg="6">
                    <el-form-item label="行业大类" prop="industryBig">
                        <ft-data-enum-select
                                v-model="corpInfo.industryBig"
                                type-name="industryCategories"
                                :query-child="true"
                                :parent-id="industryId"
                                @change="industryBigChange"
                                placeholder="请选择行业大类"
                                :editing="!canEdit">
                        </ft-data-enum-select>
                    </el-form-item>
                </el-col>
                <el-col :md="8" :lg="6">
                    <el-form-item label="行业中类" prop="industryMid">
                        <ft-data-enum-select
                                v-model="corpInfo.industryMid"
                                type-name="industryCategories"
                                :query-child="true"
                                @change="industryMidChange"
                                :parent-id="industryBigId"
                                placeholder="请选择行行业中类"
                                :editing="!canEdit">
                        </ft-data-enum-select>
                    </el-form-item>
                </el-col>
                <el-col :md="8" :lg="6">
                    <el-form-item label="行业小类" prop="industryLittle">
                        <ft-data-enum-select
                                v-model="corpInfo.industryLittle"
                                type-name="industryCategories"
                                :query-child="true"
                                :parent-id="industryMidId"
                                placeholder="请选择行业小类"
                                :editing="!canEdit">
                        </ft-data-enum-select>
                    </el-form-item>
                </el-col>
                <el-col :md="8" :lg="6">
                    <el-form-item label="从业人数" prop="practitionerNumber">
                        <ft-number-input v-model="corpInfo.practitionerNumber"
                                         :editable="!canEdit"
                                         @change="handleEnterpriseScaleOnBlur"
                                         :precision="[7]">
                        </ft-number-input>
                    </el-form-item>
                </el-col>
                <el-col :md="8" :lg="6">
                    <el-form-item label="资产总额(万元)" prop="totalAssests">
                        <ft-number-input v-model="corpInfo.totalAssests"
                                         :precision="[15,2]"
                                         :editable="!canEdit"
                                         @change="handleEnterpriseScaleOnBlur"></ft-number-input>
                    </el-form-item>
                </el-col>
                <el-col :md="8" :lg="6">
                    <el-form-item label="营业收入(万元)" prop="operatoinRevenue">
                        <ft-number-input v-model="corpInfo.operatoinRevenue"
                                         :precision="[15,2]"
                                         :editable="!canEdit"
                                         @change="handleEnterpriseScaleOnBlur"></ft-number-input>
                    </el-form-item>
                </el-col>
                <el-col :md="8" :lg="6">
                    <el-form-item label="企业规模" prop="enterpriseScale">
                        <ft-data-enum-select
                                v-model="corpInfo.enterpriseScale"
                                type-name="enterpriseScale"
                                placeholder="请选企业规模"
                                :editing="1==2">
                        </ft-data-enum-select>
                    </el-form-item>
                </el-col>
                <el-col :md="8" :lg="6">
                    <el-form-item label="办公地址邮编" prop="actualPostcode">
                        <ft-number-input :editable="!canEdit":split="false" v-model="corpInfo.actualPostcode" :precision='[6]'></ft-number-input>
                    </el-form-item>
                </el-col>
                <el-col :md="8" :lg="6">
                    <el-form-item label="企业传真" prop="fax">
                        <ft-input :editable="!canEdit" v-model="corpInfo.fax"/>
                    </el-form-item>
                </el-col>
                <el-col :span="12">
                    <el-form-item label="办公地址" prop="actualAddress" :title="corpInfo.actualAddress">
                        <ft-input :editable="!canEdit" v-model="corpInfo.actualAddress" class="inputClass"></ft-input>
                    </el-form-item>
                </el-col>
                <el-col :md="8" :lg="6">
                    <el-form-item label="平台客户" prop="platformUser">
                        <ft-bool-select v-if="!canEdit" v-model="corpInfo.platformUser" :editable="!canEdit"
                                        type="radio"></ft-bool-select>
                        <span v-if="canEdit && corpInfo.platformUser==1">是</span>
                        <span v-if="canEdit && corpInfo.platformUser==0">否</span>
                    </el-form-item>
                </el-col>
                <el-col v-if="corpInfo.platformUser==1" :md="8" :lg="6">
                    <el-form-item  label="平台客户类型" prop="platformUserType">
                        <ft-enum-select v-model="corpInfo.platformUserType"
                                        service-name="lss-customer"
                                        type-name="platformUserType"
                                        :editing="!canEdit"/>
                    </el-form-item>
                </el-col>

                <el-col :md="8" :lg="6">
                    <el-form-item label="集团客户" prop="groupUser">
                        <ft-bool-select v-if="!canEdit" v-model="corpInfo.groupUser" :editable="!canEdit" type="radio"
                                        @change="groupChange"></ft-bool-select>
                        <span v-if="canEdit && corpInfo.groupUser==1">是</span>
                        <span v-if="canEdit && corpInfo.groupUser==0">否</span>
                    </el-form-item>
                </el-col>
                <el-col v-if="corpInfo.groupUser==1" :md="8" :lg="6">
                    <el-form-item label="集团客户类型" prop="groupUserType">
                        <ft-enum-select v-model="corpInfo.groupUserType"
                                        service-name="lss-customer"
                                        type-name="groupCustomerType"
                                        placeholder="请选择集团客户类型"
                                        :editing="!canEdit">
                        </ft-enum-select>
                    </el-form-item>
                </el-col>
                <el-col :md="8" :lg="6">
                    <el-form-item v-if="corpInfo.groupUser==1 && corpInfo.groupUserType =='SUBSIDIARY'" label="所属集团"
                                  prop="parentCompanyId">
                        <ft-customer :editable="!canEdit"
                                     v-model="parentCompany.customerName"
                                     customerType="ENTERPRISE"
                                     :customerId="corpInfo.parentCompanyId"
                                     customCondition="GroupUserTypeParent"
                                     @matchedOption="parentCompanyChangeMatched"
                                     @unmatchedOption="parentCompanyChangeMatched">
                        </ft-customer>
                    </el-form-item>
                </el-col>
            </el-row>

            <div style="padding-left: 2%; color: rgba(0,22,22,0.85);">营业执照信息</div>
            <el-row style="padding:24px 12px">
                <el-col :md="8" :lg="6">
                    <el-form-item label="经济性质" prop="economicsPropertyId">
                        <ft-data-cascader v-model='corpInfo.economicsPropertyId'
                                          style="width: 100%"
                                          type-name='economicsProperty'
                                          :editable='!canEdit'>

                        </ft-data-cascader>
                    </el-form-item>
                </el-col>
                <el-col :md="8" :lg="6">
                    <el-form-item label="注册资本(万元)" prop="registeredCaptital">
                        <ft-number-input v-model='corpInfo.registeredCaptital' :editable='!canEdit'
                                         :precision='[15,2]'></ft-number-input>
                    </el-form-item>
                </el-col>
                <el-col :md="8" :lg="6">
                    <el-form-item label="注册资本币种" prop="registeredCurrencyId">
                        <ft-enum-select v-model="corpInfo.registeredCurrencyId"
                                        :editing="!canEdit"
                                        service-name="lss-customer"
                                        type-name="currency"
                                        size="small"
                                        placeholder="请选择币种">
                        </ft-enum-select>
                    </el-form-item>
                </el-col>
                <el-col :md="8" :lg="6">
                    <el-form-item label="成立日期" prop="establishmentDate">
                        <ft-date-picker
                                v-model="corpInfo.establishmentDate"
                                type="date"
                                placeholder="选择日期"
                                format="yyyy-MM-dd"
                                valueFormat="yyyy-MM-dd"
                                :editing="!canEdit">
                        </ft-date-picker>
                    </el-form-item>
                </el-col>
                <el-col :span="12">
                    <el-form-item label="注册地址" prop="registeredAddress">
                        <ft-input :editable="!canEdit" v-model="corpInfo.registeredAddress"
                                  class="inputClass"></ft-input>
                    </el-form-item>
                </el-col>


                <el-col :md="8" :lg="6">
                    <el-form-item label="实收资本币种" prop="actualCurrencyId">
                        <ft-enum-select v-model="corpInfo.actualCurrencyId"
                                        :editing="!canEdit"
                                        service-name="lss-customer"
                                        type-name="currency"
                                        size="small"
                                        placeholder="请选择币种">
                        </ft-enum-select>
                    </el-form-item>
                </el-col>
                <el-col :md="8" :lg="6">
                    <el-form-item label="实收资本(万元)" prop="actualCaptital">
                        <ft-number-input v-model='corpInfo.actualCaptital' :editable='!canEdit'
                                         :precision='[15,2]'></ft-number-input>
                    </el-form-item>
                </el-col>
                <el-col :md="8" :lg="6">
                    <el-form-item label="经营期限" prop="operatingPeriodType">
                        <div v-if="!canEdit">
                            <el-radio :disabled="canEdit" v-model="corpInfo.operatingPeriodType" label="0">有固定期限</el-radio>
                            <el-radio :disabled="canEdit" v-model="corpInfo.operatingPeriodType" label="1">长期</el-radio>
                        </div>
                        <div v-else>
                            <span v-if="corpInfo.operatingPeriodType === '0'">有固定期限</span>
                            <span v-if="corpInfo.operatingPeriodType === '1'">长期</span>
                        </div>
                    </el-form-item>
                </el-col>
                <el-col :span="12" v-if="corpInfo.operatingPeriodType === '0'">
                    <el-form-item label="经营日期" prop="operatingPeriod">
                        <el-date-picker v-if="!canEdit"
                                        v-model="corpInfo.operatingPeriod"
                                        type="daterange"
                                        format="yyyy-MM-dd"
                                        valueFormat="yyyy-MM-dd"
                                        range-separator="至"
                                        start-placeholder="开始日期"
                                        end-placeholder="结束日期"
                                        :readonly="canEdit">
                        </el-date-picker>
                        <div v-if="canEdit" style="white-space: nowrap;">
                            <ft-input style="width: auto" :editable="!canEdit"
                                      v-model="this.corpInfo.operatingPeriodStart"/>
                            <span>至</span>
                            <ft-input :editable="!canEdit" v-model="this.corpInfo.operatingPeriodEnd"/>
                        </div>
                    </el-form-item>
                </el-col>
                <el-col :md="8" :lg="6" v-if="corpInfo.operatingPeriodType === '1'">
                    <el-form-item label="开始日期" prop="operatingPeriodStart">
                        <el-date-picker v-if="!canEdit"
                                        type="date" placeholder="请选择开始日期"
                                        v-model="corpInfo.operatingPeriodStart"
                                        format="yyyy-MM-dd"
                                        value-format="yyyy-MM-dd"
                                        :readonly="canEdit">
                        </el-date-picker>
                        <span v-else>{{corpInfo.operatingPeriodStart}}</span>
                    </el-form-item>
                </el-col>
                <el-col :md="8" :lg="6" v-if="corpInfo.operatingPeriodType === '1'">
                    <el-form-item label="结束日期" prop="">
                        <span>长期</span>
                    </el-form-item>
                </el-col>
                <el-col :md="24" :lg="24">
                    <el-form-item label="经营范围" prop="businessScope">
                        <ft-input style="display: inline"
                                  type="textarea"
                                  :editable="!canEdit"
                                  :autosize='{ minRows: 1, maxRows: 5}'
                                  v-model="corpInfo.businessScope"
                                  placeholder="请输入内容"></ft-input>
                    </el-form-item>
                </el-col>
                <el-col :md="24" :lg="24">
                    <el-form-item label="主营业务" prop="mainBusiness">
                        <ft-input style="display: inline"
                                  type="textarea"
                                  :editable="!canEdit"
                                  :autosize='{ minRows: 1, maxRows: 5}'
                                  v-model="corpInfo.mainBusiness"
                                  placeholder="请输入内容"></ft-input>
                    </el-form-item>
                </el-col>

            </el-row>
            <hr style="background-color: #EDEDED;border: none;height: 1px;margin: 0px"/>
            <el-row style="padding:16px 0px">
                <el-col align="right">
                    <el-button size="mini"
                               @click="cancel()"
                               v-show="!canEdit">取消
                    </el-button>
                    <el-button size="mini"
                               type="primary"
                               @click="onSave()"
                               style="margin-left: 24px;margin-right: 36px"
                               v-show="!canEdit">保存
                    </el-button>
                </el-col>
            </el-row>
        </el-form>
    </div>
</template>

<script>
    import FtDatePicker from "../ft/FtDatePicker"
    import FtCustomer from "../ft/FtCustomer"
    import {postCode} from "@/pages/pc/assets/js/validate/rule.js"

    export default {
        name: "CorpInfo",
        components: {FtDatePicker, FtCustomer},
        props: {
            customerId: {
                type : String,
                default : '',
            },
            dataVersion: {
                type : Number,
                default : 0,
            },
            editable: {
                type : Boolean,
                default : true,
            },
        },
        mounted() {
            this.load()
        },
        data() {
            let validatefax = (rule, value, callback) => {
                let reg = /^(\d{3,4}-)?\d{7,8}$/
                if (value && !reg.test(value)) {
                    callback(new Error('请输入正确的传真号码'))
                } else {
                    callback()
                }
            }

            let validatePostCode = (rule, value, callback) => {
                if (value != '' && value != null && !postCode(value)) {
                    callback(new Error("请输入正确的邮编"))
                } else {
                    callback()
                }
            }
            return {
                corpInfo: {},
                corpInfoBak: {},
                legal: {},
                // actual: {},
                parentCompany: {},
                canEdit: true,
                isShow: false,
                industryId: null,
                industryBigId: null,
                industryMidId: null,
                //法人代表信息
                managerData: {},
                outTime: 0,
                rules: {
                    customerNationalityId: [
                        {required: true, message: '所属国家不能为空', trigger: 'blur'},
                    ],
                    enterprisType: [
                        {required: true, message: '机构类型不能为空', trigger: 'blur'},
                    ],
                    customerProperty: [
                        {required: true, message: '客户性质不能为空', trigger: 'blur'},
                    ],
                    // actualControllerId: [
                    //     {required: true, trigger: 'change', message: '实际控制人不能为空'},
                    // ],
                    // actualIdentityType: [
                    //     {required: true, trigger: 'blur', message: '实际控制人证件类型不能为空'},
                    // ],
                    // actualIdentityNo: [
                    //     {required: true, trigger: 'blur', message: '实际控制人证件号码不能为空'},
                    // ],
                    legalRepresentativeId: [
                        {required: true, trigger: 'change', message: '法定代表人不能为空'},
                    ],
                    lagalIdentityType: [
                        {required: true, trigger: 'blur', message: '法定代表人证件类型不能为空'},
                    ],
                    lagalIdentityNo: [
                        {required: true, trigger: 'blur', message: '法定代表人证件号码不能为空'},
                    ],
                    actualAddress: [
                        {max: 100, message: '实际办公地址需在100字内', trigger: 'blur'}
                    ],
                    businessScope: [
                        {max: 400, message: '经营范围需在400字内', trigger: 'blur'}
                    ],
                    mainBusiness: [
                        {max: 1000, message: '主营业务需在1000字内', trigger: 'blur'}
                    ],
                    registeredAddress: [
                        {max: 100, message: '注册地址需在100字内', trigger: 'blur'}
                    ],
                    fax: [{validator: validatefax, trigger: 'blur'}],
                    platformUserType: [
                        {required: true, trigger: 'blur', message: '必选值'}
                    ],
                    parentCompanyId: [
                        {required: true, trigger: 'change', message: '必选值'}
                    ],
                    actualPostcode: [{validator: validatePostCode, trigger: 'blur'}],
                    enterpriseTypeId: [
                        {required: true, trigger: 'change', message: '组织机构类型不能为空'},
                    ],
                },
            }
        },
        methods: {
            data() {
                return {
                    corpInfo: {}
                }
            },
            // 加载行业门类枚举项，不然的话则不能选择行业门类
            loadIndustryCategoriesEnum() {
                const baseURL = '/joys-rest/joys-master-data/items/code/industryCategories/'
                if (this.corpInfo.industry) {
                    const url = baseURL + this.corpInfo.industry + '/'
                    this.$http.get(url).then(resp => {
                        if (resp.body) {
                            this.industryId = resp.body.itemId
                        }
                    })
                }
                if (this.corpInfo.industryBig) {
                    const url = baseURL + this.corpInfo.industryBig + '/'
                    this.$http.get(url).then(resp => {
                        if (resp.body) {
                            this.industryBigId = resp.body.itemId
                        }
                    })
                }
                if (this.corpInfo.industryMid) {
                    const url = baseURL + this.corpInfo.industryMid + '/'
                    this.$http.get(url).then(resp => {
                        if (resp.body) {
                            this.industryMidId = resp.body.itemId
                        }
                    })
                }
            },
            load() {
                this.$http.get('/joys-rest/lss-customer/custInfo/corp/' + this.customerId).then(
                    resp => {
                        this.corpInfo = resp.body;
                        if (this.corpInfo.operatingPeriodStart && this.corpInfo.operatingPeriodEnd) {
                          this.corpInfo.operatingPeriod = [this.corpInfo.operatingPeriodStart, this.corpInfo.operatingPeriodEnd]
                        }
                        if (this.emptyData(this.corpInfo)) {
                            this.isShow = true;
                            this.canEdit = true
                        }
                        // 加载行业门类分类明细
                        this.loadIndustryCategoriesEnum()

                    },
                    resp => {
                        this.$message.error(resp.body)
                    })
            },
            //基本信息保存
            onSave() {
                if (this.dataVersion > this.corpInfo.dataVersion) {
                    this.corpInfo.dataVersion = this.dataVersion
                }
                this.$refs.corpInfo.validate((valid) => {
                    if (valid) {
                        if (this.corpInfo.operatingPeriod && this.corpInfo.operatingPeriodType === "0") {
                            // 有固定期限且不为空
                            this.corpInfo.operatingPeriodStart = this.corpInfo.operatingPeriod[0]
                            this.corpInfo.operatingPeriodEnd = this.corpInfo.operatingPeriod[1]
                        }
                        if (this.corpInfo.operatingPeriodType === "1") {
                            // 经营期限为长期时不需要设置经营期限截止日期
                            this.corpInfo.operatingPeriodEnd = ''
                        }
                        /**
                         * 返回VO没有证件类型与证件号码字段 先取出，保存成功后重新赋值
                         * */
                        let lagalIdentityType = this.corpInfo.lagalIdentityType
                        let lagalIdentityNo = this.corpInfo.lagalIdentityNo
                        // let actualIdentityType = this.corpInfo.actualIdentityType
                        // let actualIdentityNo = this.corpInfo.actualIdentityNo

                        this.$http.put('/joys-rest/lss-customer/custInfo/corp', this.corpInfo, {
                            params: {
                                sourceModule: "基本资料",
                            }
                        }).then(
                            resp => {
                                this.corpInfo = resp.body;
                                if (this.corpInfo.operatingPeriodStart && this.corpInfo.operatingPeriodEnd
                                    && this.corpInfo.operatingPeriodType === "0") {
                                    // 还原经营期限字段
                                    this.corpInfo.operatingPeriod = [this.corpInfo.operatingPeriodStart, this.corpInfo.operatingPeriodEnd]
                                }
                                this.corpInfo.lagalIdentityType = lagalIdentityType
                                this.corpInfo.lagalIdentityNo = lagalIdentityNo
                                // this.corpInfo.actualIdentityType = actualIdentityType
                                // this.corpInfo.actualIdentityNo = actualIdentityNo
                                // this.saveLegal()
                                this.$emit('infoValue', this.corpInfo.dataVersion)
                                this.$emit('registeredAddress', this.corpInfo.registeredAddress)
                                this.canEdit = true
                                this.$message.success('保存成功!')
                            },
                            resp => {
                                this.$message.error(resp.body.message)
                            })
                    } else {
                        return false
                    }
                })
            },
            //法人信息保存
            saveLegal() {
                //回写法人
                this.legal.customerRole = 'LEGAL';
                this.legal.customerType = 'PERSONAL';
                this.legal.customerId = this.customerId;
                this.$http.post('/joys-rest/lss-customer/custInfo/person/resave', this.legal).then(
                    resp => {
                        //法人信息获取
                        this.managerData.customerId = this.customerId
                        this.managerData.managerName = resp.body.customerName
                        this.managerData.managerType = resp.body.customerType
                        this.managerData.managerIdentityType = resp.body.identityType
                        this.managerData.managerIdentityNo = resp.body.identityNo
                        this.managerData.managerMemberType = '1'//类型：法定代表人
                        this.managerData.managerSex = resp.body.sex//性别
                        this.managerData.managerTel = resp.body.telphone//手机号
                        this.managerData.managerEducationBackground = resp.body.educationBackground//最高学历
                        //this.managerData.managerDept  = this.legal.deptId//部门id
                        this.$http.get('/joys-rest/lss-customer/manager/legal', {
                            params: {
                                customerId: this.customerId,
                                managerType: resp.body.customerType,
                                managerName: resp.body.customerName
                            }
                        }).then(
                            resp => {
                                this.managerData.custManagerId = resp.body.custManagerId;
                                this.managerData.dataVersion = resp.body.dataVersion;
                                //法定代表人信息保存
                                this.$http.put('/joys-rest/lss-customer/manager/', this.managerData).then(
                                    resp => {
                                        this.canEdit = true
                                    }, resp => {
                                        this.$message.error(resp.body.message);
                                    })
                            })
                    }, resp => {
                        this.$message.error(resp.body)
                    })
            },
            //显示表体

            addNew() {
                this.corpInfoBak = JSON.parse(JSON.stringify(this.corpInfo));
                //默认国家
                this.$set(this.corpInfo, 'customerProperty', 'ENTERPRISE_LEGAL');
                this.$set(this.corpInfo, 'enterpriseScale', 'MIDDLE');
                this.$set(this.corpInfo, 'actualCurrencyId', 'CNY');
                this.$set(this.corpInfo, 'registeredCurrencyId', 'CNY');
                if (this.corpInfo && !this.corpInfo.customerNationalityId) {
                    this.corpInfo.customerNationalityId = '156'

                }
                this.isShow = true;
                this.canEdit = false
            },
            //表单编辑按钮
            edit() {
                this.canEdit = false;
                this.corpInfoBak = JSON.parse(JSON.stringify(this.corpInfo))
            },
            //表单取消按钮
            cancel() {
                this.canEdit = true;
                this.corpInfo = this.corpInfoBak;
                this.$refs.corpInfo.clearValidate()
            },
            //法定代表人回调(已匹配到客户)
            legalChangeMatched(val) {
                this.$set(this.corpInfo, 'legalRepresentativeId', val.customerId)
                this.$set(this.corpInfo, 'lagalIdentityType', val.identityType)
                this.$set(this.corpInfo, 'lagalIdentityNo', val.identityNo)
                this.$set(this.corpInfo, 'legalRepresentativeName', val.customerName)
                this.legal = val
            },
            //实际控制人回调(已匹配到客户)
            // actualChangeMatched(val) {
                // this.$set(this.corpInfo, 'actualControllerId', val.customerId)
                // this.$set(this.corpInfo, 'actualIdentityType', val.identityType)
                // this.$set(this.corpInfo, 'actualIdentityNo', val.identityNo)
                // this.actual = val
            // },
            parentCompanyChangeMatched(val) {
                this.parentCompany = val;
                this.corpInfo.parentCompanyId = val.customerId;
            },
            change() {
                this.$emit('input', this.boolValue)
                this.$emit('change', this.boolValue)
            },
            //集团客户为否时，清空所属信息
            groupChange() {
                if (this.corpInfo.groupUser == 0) {
                    this.corpInfo.groupUserType = ''
                    this.corpInfo.groupUserType = ''
                }
            },
            emptyData(obj) {
                if (obj.customerProperty != null) {
                    return true
                }
                if (obj.economicsPropertyId != null) {
                    return true
                }
                if (obj.industry != null) {
                    return true;
                }
                if (obj.industryBig != null) {
                    return true
                }
                if (obj.industryMid != null) {
                    return true
                }
                if (obj.industryLittle != null) {
                    return true
                }
                if (obj.province != null) {
                    return true
                }
                if (obj.actualAddress != null) {
                    return true
                }
                if (obj.actualPostcode != null) {
                    return true
                }
                if (obj.practitionerNumber != null) {
                    return true
                }
                if (obj.totalAssests != null) {
                    return true
                }
                if (obj.operatoinRevenue != null) {
                    return true
                }
                if (obj.enterpriseScale != null) {
                    return true
                }
                if (obj.legalRepresentative != null) {
                    return true
                }
                if (obj.lagalIdentityType != null) {
                    return true
                }
                if (obj.lagalIdentityNo != null) {
                    return true
                }
                if (obj.establishmentDate != null) {
                    return true
                }
                if (obj.registeredAddress != null) {
                    return true
                }
                if (obj.registeredCurrencyId != null) {
                    return true
                }
                if (obj.registeredCaptital != null) {
                    return true
                }
                if (obj.actualCurrencyId != null) {
                    return true
                }
                if (obj.actualCaptital != null) {
                    return true
                }
                if (obj.operatingPeriod != null) {
                    return true
                }
                if (obj.operatingPeriodEnd != null) {
                    return true
                }
                if (obj.mainBusiness != null) {
                    return true
                }
                if (obj.stockCode != null) {
                    return true
                }
                if (obj.businessScope != null) {
                    return true
                }
            },
            industryChange(item) {
                this.industryId = item.itemId
                //行业门类(大类)
                this.corpInfo.industryBig = null
                //行业门类(中类)
                this.corpInfo.industryMid = null
                //请选择行业门类(小类)
                this.corpInfo.industryLittle = null
                /** 计算企业规模*/
                this.calEnterpriseScale(this.corpInfo.industry, null, null, this.corpInfo.practitionerNumber, this.corpInfo.totalAssests, this.corpInfo.operatoinRevenue);
            },
            industryBigChange(item) {
                this.industryBigId = item.itemId
                //行业门类(中类)
                this.corpInfo.industryMid = null
                //请选择行业门类(小类)
                this.corpInfo.industryLittle = null
                /** 计算企业规模*/
                this.calEnterpriseScale(this.corpInfo.industry, this.corpInfo.industryBig, null, this.corpInfo.practitionerNumber, this.corpInfo.totalAssests, this.corpInfo.operatoinRevenue);
            },
            industryMidChange(item) {
                this.industryMidId = item.itemId
                //请选择行业门类(小类)
                this.corpInfo.industryLittle = null
                /** 计算企业规模*/
                this.calEnterpriseScale(this.corpInfo.industry, this.corpInfo.industryBig, this.corpInfo.industryMid, this.corpInfo.practitionerNumber, this.corpInfo.totalAssests, this.corpInfo.operatoinRevenue);
            },

            enterpriseTypeChange() {
                if (this.corpInfo.enterprisType === '3' || this.corpInfo.enterprisType === '5') {
                    /** 对于企业分支机构以及机关、事业单位等无需划分规模的组织，统一填写“9-无需划型”；*/
                    this.corpInfo.enterpriseScale = '9';
                }
            },
            handleEnterpriseScaleOnBlur() {
                //计算企业规模
                this.calEnterpriseScale(this.corpInfo.industry, this.corpInfo.industryBig, this.corpInfo.industryMid, this.corpInfo.practitionerNumber, this.corpInfo.totalAssests, this.corpInfo.operatoinRevenue);
            },
            /**
             * @param factor 从业人数或者营业收入
             * @param factorLimit1 下限1
             * @param factorLimit2 下限2
             * @param factorLimit3 下限3
             */
            getEnterpriseScale(factor, factorLimit1, factorLimit2, factorLimit3) {
                let enterpriseScale = null
                if (factor >= factorLimit1) {
                    enterpriseScale = 2;
                } else if (factor >= factorLimit2) {
                    enterpriseScale = 3;
                } else if (factor >= factorLimit3) {
                    enterpriseScale = 4;
                } else {
                    enterpriseScale = 5;
                }
                return enterpriseScale;
            },
            /**
             * @param factor 从业人数或者资产总额
             * @param operatoinRevenue 营业收入
             * @param factorLimit1 下限1
             * @param factorLimit2 下限2
             * @param factorLimit3 下限3
             * @param practitionerNumberLimit1 下限1
             * @param practitionerNumberLimit2 下限2
             * @param practitionerNumberLimit3 下限3
             */
            getEnterpriseScaleByTwoFactor(factor, operatoinRevenue,
                                          factorLimit1, factorLimit2, factorLimit3,
                                          operatoinRevenueLimit1, operatoinRevenueLimit2, operatoinRevenueLimit3) {
                let enterpriseScale = null
                if (factor >= factorLimit1 && operatoinRevenue >= operatoinRevenueLimit1) {
                    enterpriseScale = 2;
                } else if (factor >= factorLimit2 && operatoinRevenue >= operatoinRevenueLimit2) {
                    enterpriseScale = 3;
                } else if (factor >= factorLimit3 && operatoinRevenue >= operatoinRevenueLimit3) {
                    enterpriseScale = 4;
                } else {
                    enterpriseScale = 5;
                }
                return enterpriseScale;
            },

            calEnterpriseScale(industry, industryBig, industryMid, practitionerNumber, totalAssests, operatoinRevenue) {
                let enterpriseScale = ''
                if (totalAssests) {
                    totalAssests = totalAssests.toString().replace(/,/gi, '');
                }
                if (operatoinRevenue) {
                    operatoinRevenue = operatoinRevenue.toString().replace(/,/gi, '');
                }
                if (industry === 'A') {
                    /**
                     A 农、林、牧、渔业
                     营业收入 >= 20000万元
                     20000万元 > 营业收入 > 500万元
                     500万元 > 营业收入 > 50万元
                     50万元 > 营业收入
                     */
                    if (operatoinRevenue) {
                        enterpriseScale = this.getEnterpriseScale(operatoinRevenue, 20000, 500, 50);
                    }
                } else if ('B,C,D'.indexOf(industry) >= 0) {
                    /**
                     B 采矿业,C 制造业,D 电力、热力、燃气及水生产和供应业
                     从业人员 >= 1000人 且 营业收入 >= 40000万元
                     从业人员 >= 300人 且 营业收入 >= 2000万元 且 （1000人 > 从业人员 或  40000万元 > 营业收入）
                     从业人员 >= 20人 且  营业收入 >= 300万元 且（300人 > 从业人员 或 2000万元 > 营业收入）
                     从业人员 <20人 或 营业收入 < 300万元
                     */
                    if (practitionerNumber && operatoinRevenue) {
                        enterpriseScale = this.getEnterpriseScaleByTwoFactor(practitionerNumber, operatoinRevenue, 1000, 300, 20, 40000, 2000, 300);
                    }
                } else if ('E' === industry) {
                    /**
                     E 建筑业
                     资产总额 >= 80000万 且  营业收入 >= 80000万元
                     资产总额 >= 5000万 且 营业收入 >= 6000万元   且 （80000万 > 资产总额 或  80000万元 > 营业收入）
                     资产总额 >= 300万 且  营业收入 >= 300万元  且 （5000万 > 资产总额 或  6000万元 > 营业收入）
                     资产总额 > 300万 或   营业收入 >300万元
                     */
                    if (totalAssests && operatoinRevenue) {
                        enterpriseScale = this.getEnterpriseScaleByTwoFactor(totalAssests, operatoinRevenue, 80000, 5000, 300, 80000, 6000, 300);
                    }
                } else if ('F' === industry) {
                    //F 批发和零售业
                    if ('51' === industryBig) {
                        /**
                         51 批发
                         从业人员 >= 200人 且 营业收入 >= 40000万元
                         从业人员 >= 20人 且 营业收入 >= 5000万元 且 （200人 > 从业人员 或  40000万元 > 营业收入）
                         从业人员 >= 5人 且  营业收入 >= 1000万元 且（20人 > 从业人员 或 5000万元 > 营业收入）
                         从业人员 <5人 或 营业收入 < 1000万元
                         */
                        if (practitionerNumber && operatoinRevenue) {
                            enterpriseScale = this.getEnterpriseScaleByTwoFactor(practitionerNumber, operatoinRevenue, 200, 20, 5, 40000, 5000, 1000);
                        }
                    } else {//
                        /**
                         52 零售
                         从业人员 >= 300人 且 营业收入 >= 20000万元
                         从业人员 >= 50人 且 营业收入 >= 500万元 且 （300人 > 从业人员 或  20000万元 > 营业收入）
                         从业人员 >= 10人 且  营业收入 >= 100万元 且（50人 > 从业人员 或 500万元 > 营业收入）
                         从业人员 <10人 或 营业收入 < 100万元
                         */
                        if (practitionerNumber && operatoinRevenue) {
                            enterpriseScale = this.getEnterpriseScaleByTwoFactor(practitionerNumber, operatoinRevenue, 300, 50, 10, 20000, 500, 100);
                        }
                    }
                } else if ('G' === industry) {
                    /** G 交通运输、仓储和邮政业*/
                    if (industryBig) {
                        if ((industryBig !== '53' && industryBig !== '59' && industryBig !== '60') || industryMid === '5910') {
                            /**
                             54道路运输业、55水上运输业、56航空运输业，57管道运输业，
                             58多式联运和运输代理业、591装卸搬运，不包括 53铁路运输业；
                             从业人员 >= 1000人 且 营业收入 >= 30000万元
                             从业人员 >= 300人 且 营业收入 >= 3000万元 且 （1000人 > 从业人员 或  30000万元 > 营业收入）
                             从业人员 >= 20人 且  营业收入 >= 200万元 且（300人 > 从业人员 或 3000万元 > 营业收入）
                             从业人员 <20人 或 营业收入 < 200万元
                             */
                            if (practitionerNumber && operatoinRevenue) {
                                enterpriseScale = this.getEnterpriseScaleByTwoFactor(practitionerNumber, operatoinRevenue, 1000, 300, 20, 30000, 3000, 200);
                            }
                        } else if (industryBig === '59' && industryMid && industryMid !== '5910') {
                            /**
                             59 装卸搬运和仓储业（不包含 591装卸搬运）
                             从业人员 >= 200人 且 营业收入 >= 30000万元
                             从业人员 >= 100人 且 营业收入 >= 1000万元 且 （200人 > 从业人员 或  30000万元 > 营业收入）
                             从业人员 >= 20人 且  营业收入 >= 100万元 且（100人 > 从业人员 或 1000万元 > 营业收入）
                             从业人员 < 20人 或 营业收入 < 100万元
                             */
                            if (practitionerNumber && operatoinRevenue) {
                                enterpriseScale = this.getEnterpriseScaleByTwoFactor(practitionerNumber, operatoinRevenue, 200, 100, 20, 30000, 1000, 100);
                            }
                        } else if (industryBig === '60') {
                            /**
                             60 邮政业
                             从业人员 >= 1000人 且 营业收入 >= 30000万元
                             从业人员 >= 300人 且 营业收入 >= 2000万元 且 （1000人 > 从业人员 或  30000万元 > 营业收入）
                             从业人员 >= 20人 且  营业收入 >= 100万元 且（300人 > 从业人员 或 2000万元 > 营业收入）
                             从业人员 < 20人 或 营业收入 < 100万元
                             */
                            if (practitionerNumber && operatoinRevenue) {
                                enterpriseScale = this.getEnterpriseScaleByTwoFactor(practitionerNumber, operatoinRevenue, 1000, 300, 20, 30000, 2000, 100);
                            }
                        } else {
                            /** 53 铁路运输业*/
                            if (practitionerNumber) {
                                enterpriseScale = this.getEnterpriseScale(practitionerNumber, 300, 100, 10);
                            }
                        }
                    }
                } else if ('H' === industry) {
                    /**
                     H 住宿和餐饮业
                     从业人员 >= 300人 且 营业收入 >= 10000万元
                     从业人员 >= 100人 且 营业收入 >= 2000万元 且 （300人 > 从业人员 或  10000万元 > 营业收入）
                     从业人员 >= 10人 且  营业收入 >= 100万元 且（100人 > 从业人员 或 2000万元 > 营业收入）
                     从业人员 < 10人 或 营业收入 < 100万元
                     */
                    if (practitionerNumber && operatoinRevenue) {
                        enterpriseScale = this.getEnterpriseScaleByTwoFactor(practitionerNumber, operatoinRevenue, 300, 100, 10, 10000, 2000, 100);
                    }
                } else if ('I' === industry) {
                    /** I 信息传输、软件和信息技术服务业 */
                    if (industryBig) {
                        if (industryBig === '65') {
                            /**
                             65 软件和信息技术服务业
                             从业人员 >= 300人 且 营业收入 >= 10000万元
                             从业人员 >= 100人 且 营业收入 >= 1000万元 且 （300人 > 从业人员 或  10000万元 > 营业收入）
                             从业人员 >= 10人 且  营业收入 >= 100万元 且（100人 > 从业人员 或 1000万元 > 营业收入）
                             从业人员 < 10人 或 营业收入 < 50万元
                             */
                            if (practitionerNumber && operatoinRevenue) {
                                enterpriseScale = this.getEnterpriseScaleByTwoFactor(practitionerNumber, operatoinRevenue, 300, 100, 10, 10000, 1000, 100);
                            }
                        } else {
                            /**
                             63 电信、广播电视和卫星传输服务 ,64 互联网和相关服务
                             从业人员 >= 2000人 且 营业收入 >= 100000万元
                             从业人员 >= 100人 且 营业收入 >= 1000万元 且 （2000人 > 从业人员 或  100000万元 > 营业收入）
                             从业人员 >= 10人 且  营业收入 >= 100万元 且（100人 > 从业人员 或 1000万元 > 营业收入）
                             从业人员 < 10人 或 营业收入 < 100万元
                             */
                            if (practitionerNumber && operatoinRevenue) {
                                enterpriseScale = this.getEnterpriseScaleByTwoFactor(practitionerNumber, operatoinRevenue, 2000, 100, 10, 100000, 1000, 100);
                            }
                        }
                    }
                } else if ('K' === industry) {
                    /** K 房地产业 */
                    if (industryMid) {
                        if (industryMid === '701') {
                            /**
                             701 房地产开发经营
                             资产总额 >= 10000万 且 营业收入 >= 20000万元
                             资产总额 >= 5000万 且 营业收入 >= 1000万元   且 （10000万 > 资产总额 或  20000万元 > 营业收入）
                             资产总额 >= 2000万 且 营业收入 >= 100万元   且 （5000万 > 资产总额 或  1000万元 > 营业收入）
                             资产总额 < 2000万 或  营业收入 < 100万元
                             */
                            if (totalAssests && operatoinRevenue) {
                                enterpriseScale = this.getEnterpriseScaleByTwoFactor(totalAssests, operatoinRevenue, 10000, 5000, 2000, 20000, 1000, 100);
                            }
                        } else if (industryMid === '702') {
                            /**
                             702 物业管理
                             从业人员 >= 1000人 且 营业收入 >= 5000万元
                             从业人员 >= 300人 且 营业收入 >= 1000万元 且 （1000人 > 从业人员 或  5000万元 > 营业收入）
                             从业人员 >= 100人 且  营业收入 >= 500万元 且（300人 > 从业人员 或 1000万元 > 营业收入）
                             从业人员 < 100人 或 营业收入 < 500万元*/
                            if (practitionerNumber && operatoinRevenue) {
                                enterpriseScale = this.getEnterpriseScaleByTwoFactor(practitionerNumber, operatoinRevenue, 1000, 300, 100, 5000, 1000, 500);
                            }
                        } else {
                            if (practitionerNumber) {
                                enterpriseScale = this.getEnterpriseScale(practitionerNumber, 300, 100, 10);
                            }
                        }
                    }
                } else if ('L' === industry) {
                    /**
                     L      租赁和商务服务业
                     从业人员 >= 300人 且 资产总额 >= 120000万元
                     从业人员 >= 100人 且 资产总额 >= 8000万元 且 （300人 > 从业人员 或  120000万元 > 资产总额）
                     从业人员 >= 10人 且  资产总额 >= 100万元 且（100人 > 从业人员 或 8000万元 > 资产总额）
                     从业人员 < 10人 或 资产总额 < 100万元*/
                    if (practitionerNumber && operatoinRevenue) {
                        enterpriseScale = this.getEnterpriseScaleByTwoFactor(practitionerNumber, operatoinRevenue, 300, 100, 10, 120000, 8000, 100);
                    }
                } else if (industry) {
                    /**
                     其他未列明行业
                     从业人员 >= 300人
                     300 > 从业人员 >= 100人
                     100 > 从业人员 >= 10人
                     从业人员 < 10人
                     */
                    if (practitionerNumber) {
                        enterpriseScale = this.getEnterpriseScale(practitionerNumber, 300, 100, 10);
                    }
                }
                this.corpInfo.enterpriseScale = '' + enterpriseScale;
            },
        },
    }
</script>
<style scoped>
    /*文本框数字过多时显示部分内容+省略号*/
    .inputClass {
        overflow: hidden;
        text-overflow: ellipsis;
        display: block;
        width: auto;
    }

</style>

